﻿package idv.cjcat.emitter {
	
	/**
	 * Objects of the following seven classes must be marked as destroyed to release memory:
	 * <code>Particle</code>, <code>ParticleSource</code>, <code>Emitter</code>, 
	 * <code>Field</code>, <code>Deflector</code>,
	 * <code>Behavior</code>, and <code>BehaviorTrigger</code>.
	 * 
	 * <p>
	 * Even if you lose all references to an object of any of these seven classes,
	 * you can still retrieve a reference to this object by its name with the help of the <code>EmitterGlobal</code> class.
	 * Mark this object as destroyed if it will never be used again in the future by calling the <code>EmitterGlobal.destroy()</code> method.
	 * And the <code>EmitterGlobal</code> will make this object eligible for garbage collection.
	 * You'll also need to make sure all references to this object are lost, of course.
	 * </p>
	 */
	public interface IEmitterDestructible {
		
		function get destroyed():Boolean;
	}
}